1. Field of the Invention
The present invention generally concerns wireless mobile communications systems. In particular, the present invention relates to searching for pilot signals of alternate base stations by buffering a received signal.
2. Description of Related Art
In wireless communications technology, user data (e.g., speech) modulates a radio frequency signal for transmission and reception between a base station and a mobile unit. The radio spectrum allocated by regulatory authorities for a wireless system is xe2x80x9ctrunkedxe2x80x9d to allow simultaneous use of a spectrum block by multiple units.
The most common form of trunked access is the frequency-division multiple access (FDMA) system. In FDMA, the spectrum is divided into frequency channels comprised of distinct portions of the spectrum. The limited frequency channels are allocated to users as needed. However, once a frequency channel is assigned to a user, that frequency channel is used exclusively by the user until the user no longer needs the channel. This limits the number of concurrent users of each frequency channel to one, and the total number of users of the entire system, at any instant, to the number of available frequency channels. In addition, a single user generally will not at all times use the full capacity of the channel assigned to him. Accordingly, obtaining maximum efficiency of the available resources is difficult to achieve using FDMA solely.
Another common trunking system is the time-division multiple access (TDMA) system. TDMA is commonly used in telephone networks, especially in cellular telephone systems, in combination with an FDMA structure. In TDMA, data (speech) is digitized and compressed to eliminate redundancy, thus decreasing the average number of bits required to be transmitted and received for the same amount of information. The time line of each of the frequency channels used by the TDMA system is divided into xe2x80x9cframesxe2x80x9d and each of the users sharing the common channel is assigned a time slot within the frames. Each user then transmits or receives a burst of data during its assigned time slot and does not transmit or receive during other times. With the exception of delays required by the bursty data transmission, which typically are small enough to be largely unnoticeable, the TDMA system will appear to the users sharing the frequency channel to have provided an entire channel to each user.
The FDMA and TDMA combination technique is used by the GSM (global system for mobile communications) digital cellular system. In GSM, each channel is divided up in time into frames during which eight different users share the channel. A GSM time slot is only 577 xcexcs (microseconds), and each users gets to use the channel for 577 xcexcs out of every 4.615 ms (millisecond) time interval. 577 xcexcs*8=4.615 ms.
Yet another method for sharing a common channel between multiple users is the code-division multiple access (CDMA) technique which uses direct sequence spread spectrum modulation. CDMA is relatively new to cellular technology and is one of the accepted techniques to be included into the next generation of digital cellular systems in the United States.
As with TDMA, the CDMA systems are typically used in conjunction with a FDMA structure, although this is not required. However, unlike the TDMA system, the CDMA system generally does not separate the multiple users of a common frequency channel using time slices. Rather, in CDMA, multiple users are separated from each other by superimposing a user-specific high-speed code on the data of each user. Because the applied code has the effect of spreading the bandwidth of each user""s transmission, the CDMA system is often called a xe2x80x9cspread spectrumxe2x80x9d system.
Initially, the user information is digitized so that the information is represented as a sequence of xe2x80x9c0xe2x80x9d and xe2x80x9c1xe2x80x9d bits. For modulation purposes, it is common to convert this sequence of information bits into a corresponding synchronous time signal having +1 and xe2x88x921 values, where +1 corresponds to a bit value of xe2x80x9c0xe2x80x9d and xe2x88x921 corresponds to a bit value of xe2x80x9c1xe2x80x9d.
xe2x80x9cDirect sequencexe2x80x9d spreading typically is accomplished by multiplying a narrowband information signal by a much wider band spreading signal. The error and redundancy encoded digital data (speech) for each of the shared users of the CDMA channel may typically be provided at a rate of 19.2 kbps (kilobits per second). These data are then spread using a much higher frequency spreading signal, which may be provided at a rate of 1.2288 Mbps (megabits per second). Using the wider frequency spreading signal, a CDMA frequency channel can accommodate many users on code sub-channels.
The spreading signal is usually a sequence of bits selected from one of 64 different orthogonal waveforms generated using Walsh functions. Specifically, each such Walsh function typically consists of a repeating 64-bit sequence, and thus has a period of 52.083 xcexcs (64 bits/1.2288 Mbps). A different one of the 64 different Walsh functions is utilized for each sub-channel to be included in the frequency channel. At the receiving end, a particular sub-channel can be decoded using the same Walsh function which was used to encode the sub-channel. When decoded in this manner, the desired sub-channel signal is reproduced and the signals from the other 63 sub-channels are output as low level noise. As a result, a user can distinguish its code sub-channel from other users"" sub-channels on the same frequency channel.
In addition to the above channel coding, the various sub-channels also are processed using other types of coding. For instance, data on the speech traffic sub-channels typically are encrypted using a repeating pseudo random bit sequence (long code) which is unique to each different mobile unit and which has a period of 242xe2x88x921 bits. In order to coordinate encryption codes with the base unit, upon initial registration with the base unit the mobile unit provides its serial number to the base unit. The base unit then uses that serial number to retrieve the mobile unit""s unique encryption code from the base station""s database. Thereafter, the two can communicate using encrypted data, so as to provide a certain amount of privacy.
In addition to encryption coding, each sub-channel typically is encoded using an additional repeating pseudo random bit sequence (PN code). The PN code sequence, also referred to as the chipping function, utilized by a particular base station may be expressed as c(t), because it is applied as a function of time t. The PN code sequence is generated using a linear feedback shift register (LFSR) which outputs a pseudo random sequence of digital ones and zeros. These digital ones and zeros are converted to xe2x88x921 and +1 symbols respectively and then filtered to give the chipping function c(t). Thus the chipping function has the property that c(t)2=+1. The period of the PN code sequence generated by a N-register LFSR is 2Nxe2x88x921 bits (or chips) long, though it is common to insert a zero to extend the full sequence length to 2N chips. Typically, the PN code is generated using a 15 bit code word and a 15-register LFSR, providing a repeating sequence of 215=32,768 chips. Assuming the system uses the typical chip rate of 1.2288 MHz, the sequence repeats every 26.666 ms.
Generally, the PN code is identical for all base stations in the cellular network. However, each base station typically applies the PN code using a different time delay from the other base stations. For example, each base station generally selects from one of 512 different offsets (spaced 64 chips apart) for use in its PN code. By utilizing different offsets in this manner, a mobile unit can selectively tune to any given base station merely by using the same offset as that base station. Accordingly, it can be seen that merely time shifting a PN code sequence in this manner produces the same result as if each base station were using an entirely different PN code.
In a typical system, each base station uses one of the sub-channels to broadcast a pilot signal. The pilot signal has no underlying information and usually consists of all binary zeroes (symbol =1). This pattern of all xe2x80x9c1xe2x80x9d symbols is modulated with the appropriate Walsh function so as to occupy sub-channel 0, and then further coded using the base station""s PN code, applied with the base station""s designated delay. The mobile units use the pilot sub-channel to synchronize themselves with the base station so they can effectively communicate with the base station.
FIG. 1 illustrates a block diagram of a portion of a base unit for explaining the generation and combination of the various sub-channels. As shown in FIG. 1, a pilot signal 30 is one of the signals generated by the base station. As noted above, pilot signal 30 generally will include all xe2x80x9c1xe2x80x9d symbols. The pilot signal 30 is initially combined with a Walsh function 32 in multiplier 33 so as to provide a signal on sub-channel 0. Because the pilot signal 30 is provided in signal form, it can be combined with Walsh function 32 merely by multiplying the two signals together. However, if pilot signal 30 and Walsh function 32 instead comprised bit sequences, the same result could be obtained by performing modulo-2 addition on each bit in the sequence, rather than multiplication. Next, in multiplier 35, the output signal is combined with PN code sequence 34, which has the base station""s designated time delay.
The other sub-channels output by the base station also are subject to Walsh function and PN code spreading. However, as shown in FIG. 1, each other sub-channel typically includes additional signal processing. For instance, sync signal 40, from which the mobile unit obtains synchronization information, typically is also processed using error correction and redundancy encoding, as well as block interleaving (element 41). As indicated in FIG. 1, sync signal 40 is provided on sub-channel 32, which is the sub-channel ordinarily used for a base station""s sync signal.
The other 62 sub-channels utilized by the base station include sub-channels for paging and sub-channels used for data (e.g., voice) traffic. The paging sub-channels are used to provide information to the mobile unit, such as instructions regarding which sub-channel to use to initiate a telephone call and information regarding approximate delay times for neighboring base stations. Data traffic signal sub-channels typically are used for voice communications during telephone calls, but can be used for other point-to-point data transmissions, as well. In addition to error correction and redundancy encoding, the paging and traffic signals typically are also subjected to encryption coding prior to performing block interleaving (element 51).
As shown in FIG. 1, the PN code sequence with the base station""s designated time delay is applied to each sub-channel generated. The outputs of all the sub-channels, such as outputs 39, 49 and 59, are then added and subsequently subjected to quadrature spreading and quadrature phase shift keying (not shown) in order to modulate the combined signal to the appropriate radio frequency channel.
When a mobile unit is powered on, it initially searches for a pilot signal, in an attempt to establish a lock with a base station. This process is called xe2x80x9cacquisitionxe2x80x9d. It is again noted that each base station typically broadcasts in the same 1.2288 MHz (Megahertz) band and utilizes the same sub-channel and the same PN code for its pilot signal. The only difference among the base stations in this regard is the time delay each base station applies to its PN code sequence. Thus, in order to xe2x80x9cacquirexe2x80x9d, or lock on to, a base station, the mobile unit must align its locally generated version of the PN code sequence with the PN code sequence of the base station by determining the timing of the transmitted pilot""s spreading sequence.
Therefore, at power up a mobile unit searches for a time delay which produces a sufficiently strong pilot signal to indicate to the mobile unit that it has acquired a base station. The acquisition process generally involves multiplying a received signal with different time-delayed versions of the PN code sequence and then identifying the version which resulted in the greatest signal strength, or identifying the first time-delayed version which results in a signal strength that exceeds a threshold level. The mobile unit then applies the identified time-delay to the PN code sequence used in its transmissions and receptions in all future communications with that base station. An acquisition process is described in pending U.S. patent application Ser. No. 08/956,057, titled xe2x80x9cMethod and Apparatus for Accelerated Acquisition of Base Stations by Buffering Samplesxe2x80x9d, filed Oct. 22, 1997, which application is incorporated herein by reference as though set forth herein in full.
The acquisition process thus identifies the strongest base station, or at least a sufficiently strong base station, to monitor and with which to communicate. Shortly after acquiring a base station in this manner, the mobile unit will typically enter a slotted paging mode, also called the idle mode. During the slotted paging mode, the mobile unit monitors transmissions from the acquired base station, but only during discrete time slots. In order to save battery power, at all other times the mobile unit enters a power-saving sleep mode. During the sleep mode the mobile unit""s RF receiver section typically is shut down and other measures may be employed to minimize power consumption. The mobile unit then wakes from the sleep mode just prior to its designated time slot, monitors the transmission from the base station to determine if any action needs to be taken (e.g., receive a telephone call), and then returns to the sleep mode if no such other action is required.
In addition to monitoring for messages, the mobile unit also uses the received signal to search for alternate base stations. In this regard, it is possible that the mobile unit initially locked on to a base station that may not correspond to the strongest signal received by the mobile unit. Moreover, because the mobile unit may be moving, a different base station might now be providing the strongest signal. In the event that the mobile unit finds a stronger base station signal, the mobile unit will request a handoff and then begin communicating with the new base station. In this way, the mobile unit can be moved arbitrarily within the cellular network, generally with no interruption in service.
The searching process is very similar to the initial acquisition, in that the received signal is processed with different time-delayed versions of the PN code sequence to identify the strongest signal. However, because the mobile unit is already in communication with a base station, the amount of processing can be significantly reduced by narrowing the required search. In particular, the current base station stores the approximate time delay associated with all surrounding base stations. By transmitting a message to the mobile unit indicating this information, the mobile unit can constrain its search to a relatively small window around each alternate base station""s expected time delay.
In conventional mobile units, this searching process is carried out by performing additional processing on the incoming signal as it is received. Specifically, in addition to processing the received signal with the current base station""s time-delayed version of the PN code sequence and then examining the resulting information signal to determine if any additional action needs to be taken, the same signal is separately processed with other time-delayed versions of the PN code sequence to determine power levels corresponding with those delays. The time delay within the search window that results in the largest signal strength generally will correspond to the time delay of the alternate base station for that window. The signal strength of the alternate base station can then be compared with that of the current base station to determine whether a handoff should be made.
A flow diagram for explaining this processing is illustrated in FIG. 2. Initially, in step 82 data are input. Thereafter, processing proceeds down two paths simultaneously.
In one path, the current base station""s PN code sequence is applied to the input data. In step 84, this step enables the mobile unit to monitor transmissions from only the current base station. Upon removing the PN code from the data, in step 86, the Walsh function corresponding to the appropriate paging sub-channel is applied, thereby tuning to the desired paging sub-channel. In step 88, the data are decoded in order to decrypt, remove redundancy and reverse the effects of block interleaving. Thereafter, the data are processed to identify any instructions from the base station. In step 90, it is determined whether processing is complete, i.e., whether the mobile unit has fully decoded the instructions from the base unit. If not, processing returns to step 82 to input more data. In the event that step 90 determines that processing is complete, then processing proceeds to step 100, which is described below.
At the same time that instructions from the currently monitored base station are being processed, the mobile unit searches for alternate base stations to monitor. In particular, in step 92 a PN code sequence having a delay in the applicable search list is applied to the input data. As noted above, the PN code sequence delays are selected based on windows around the expected time delays for neighboring base stations. In step 94, the Walsh function for sub-channel 0 is applied to the process data so as to tune to the pilot signal sub-channel.
Next, in step 95, it is determined whether all required samples have been collected. If so processing proceeds to step 96. Otherwise, processing returns to step 82 to receive the next sample. It is noted that steps 92 and 94 generally will take much less time than the time interval between samples. Accordingly, upon completion of step 94, a significant amount of time generally will have to be spent waiting for the next sample.
In step 96, the signal power for all the samples for the current time delay is measured. Typically, this step is performed by summing the input signal over the required number of samples and then squaring the summation.
Finally, in step 98 it is determined whether the last delay required to be searched has been processed. If not, processing returns to step 82 to input additional data, and thereby enable search processing for the next delay time. On the other hand, if all required delays have been searched in step 98, then processing proceeds to step 100.
In step 100, it is determined whether both paths have completed their processing. In this regard, it is noted that further processing often will not be capable of being completed until both paths have completed processing. For example, if a xe2x80x9creleasexe2x80x9d instruction has been identified in steps 84 to 90, meaning that the mobile unit should return to sleep mode, the mobile unit might nevertheless be delayed in returning to sleep mode (step 102) until the processing required in steps 92 to 98 has been completed. As a result, the mobile unit uses more power than is absolutely required.
In step 104, additional processing is performed based on the results of the two processing paths. Such processing might include, for example, preparing for hand-off to a different base station or initiating communications to start a telephone call. However, most commonly the mobile unit will merely return to the power-saving sleep mode by shutting down its RF section and possibly performing other power-saving steps.
While the foregoing conventional technique works well in certain cases, the present inventors have discovered that in many situations the amount of time required to perform the search process is greater than the amount of time required to analyze the message being received from the current base station, and in these cases the mobile unit is delayed in returning to the sleep mode. In fact, this situation has become more common, in part as a result of recent successes by the present inventors in reducing the amount of time required to analyze messages from the current base station. Accordingly, the limiting factor preventing the mobile unit from returning to the sleep mode is more frequently becoming the time required to perform alternate base station searching. What is needed, therefore, is a faster method for performing such searching.
The present invention addresses the foregoing need by performing alternate base station searching by buffering incoming samples.
Thus, in one aspect, the invention searches for neighboring base stations by waking from a power-saving sleep mode to receive an incoming signal. The incoming signal is received and at least a portion of the incoming signal is stored. The stored information signal is then processed with each of plural different codes, such as different time delayed versions of the same pre-stored code, to determine a power level corresponding to each code.
In a further aspect, the invention provides an apparatus for communicating in a cellular communications system which is capable of operating in a slotted paging mode, during which the apparatus monitors communications for a current base station only during designated time slots. The apparatus includes means for placing the apparatus into a power-saving sleep mode. Awakening means awakens the apparatus from the power-saving sleep mode just prior to a designated time slot, and receiving means receives a signal from a current base station, with the receiving means being activated by the awakening means. Monitoring means then monitors a paging sub-channel of a current base station signal embedded in the signal received by the receiving means, in order to identify instructions from the current base station. Storing means stores at least a portion of the signal received by the receiving means, and searching means searches for alternate base stations by combining the stored signal with each of plural time delayed versions of a pre-stored code to determine a power level corresponding to each of the time delayed versions of the pre-stored code.
By virtue of the foregoing arrangements, the present invention generally can perform alternate base station search processing much faster than conventional techniques would permit. In particular, by buffering input samples in the foregoing manner, the present invention can largely avoid the need to wait for each next sample to be input when performing search processing. As a result, the mobile unit often will be able to return to a power-saving sleep mode faster than with conventional techniques. Moreover, it is noted that, according to the present invention, once a sufficient set of samples has been buffered, the RF section of the mobile unit is no longer required for alternate base station searching. Accordingly, the present invention makes it possible to continue to perform search processing even after the RF section has been shut down, which is generally not possible with conventional techniques. Thus, the present invention often can even further reduce power consumption.
The foregoing summary is intended merely to provide a quick understanding of the general nature of the present invention. A more complete understanding of the invention can only be obtained by reference to the following detailed description of the preferred embodiment in connection with the accompanying drawings.